Protection of confidential or copyrighted data is of vital importance in a number of industries. As a result, a number of ways to prevent unauthorized access to the confidential data have been developed. One common method to prevent access is to encrypt some or all of the confidential data, thereby making it useless to unauthorized parties. For example, video data from a digital versatile disc (DVD) played on a DVD drive in a personal computer is often encrypted or encoded between a graphics chip and its associated software driver. Once received by the graphics chip, the video data is decoded or decrypted and formatted for display. Since the data output from the graphics chip often requires more storage space than the corresponding video data transmitted between the driver and the graphics chip, an unauthorized party generally prefers to gain access to the smaller set of data. However, since some or all of the data between the software driver and the graphics chip is encrypted, it is useless to an unauthorized party in its encrypted form.
Although the confidential data may be encrypted or otherwise encoded to make it indecipherable to unauthorized parties, methods exist to defeat the encryption. One method used to defeat the encryption is for an unauthorized party to gain access to the sensitive data encryption routine used by the software driver to encrypt confidential data. By reverse engineering of the data encryption routine, the unauthorized party can “crack” the encryption, thereby decrypting the confidential data. Accordingly, conventional methods of preventing an unauthorized party from obtaining a sensitive encryption routine of the software driver include encrypting the encryption routine when it is not in use. However, these conventional methods are inefficient, as they generally use a central processing unit or other heavily-used processor to perform the encryption of the encryption routine. This often results in overloading the central processing unit, thereby reducing system performance.
Given this limitation, as discussed, it is apparent that a way to more effectively prevent unauthorized access to confidential data would be beneficial.